package com.example.neusoft.spinnertest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private TextView tvinfo;
    private Spinner spinner;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();

        /*//方法二使用，通过list形成String数组
        List<City> list=getData();
        String[] cities=new String[list.size()];
        for (int i=0;i<list.size();i++)
            cities[i]=list.get(i).getName();*/

        //方法一，直接定义String数组
        String[] cities = {"北京", "上海", "天津", "大连"};

        //实例化ArrayAdapter
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, cities);
        //设置下拉按钮样式
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //将spinner与ArrayAdapter绑定
        spinner.setAdapter(adapter);
        spinner.setPrompt("请选择城市");//本句为Spinner是对话框形式而设的标题
        //设置spinner某条目被点击时响应
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                tvinfo.setText("您选择的是：" + adapterView.getItemAtPosition(i).toString());

            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
            }
        });
    }

    private void init() {
        tvinfo = (TextView) findViewById(R.id.textView2);
        spinner = (Spinner) findViewById(R.id.spinner2);

    }

    //方法二使用，获取数据形成List
    private List<City> getData() {
        List<City> list = new ArrayList<City>();
        City c;
        c = new City();
        c.setName("北京2");
        list.add(c);

        c = new City();
        c.setName("上海2");
        list.add(c);

        c = new City();
        c.setName("天津2");
        list.add(c);

        c = new City();
        c.setName("大连2");
        list.add(c);

        return list;
    }
}
